package com.youdoneed.user.query;

import com.querydsl.core.types.Path;
import com.querydsl.core.types.PathMetadata;
import com.querydsl.core.types.dsl.DateTimePath;
import com.querydsl.core.types.dsl.NumberPath;
import com.querydsl.core.types.dsl.StringPath;
import com.querydsl.sql.ColumnMetadata;
import com.youdoneed.user.model.Authority;

import javax.annotation.Generated;
import java.sql.Types;

import static com.querydsl.core.types.PathMetadataFactory.forVariable;

/**
 * QAuthority is a Querydsl query type for Authority
 */
@Generated("com.querydsl.sql.codegen.MetaDataSerializer")
public class QAuthority extends com.querydsl.sql.RelationalPathBase<Authority> {

    private static final long serialVersionUID = -379336394;

    public static final QAuthority Authority = new QAuthority("Authority");

    public final StringPath authorityId = createString("authorityId");

    public final StringPath code = createString("code");

    public final DateTimePath<java.util.Date> createTime = createDateTime("createTime", java.util.Date.class);

    public final StringPath description = createString("description");

    public final StringPath icon = createString("icon");

    public final StringPath menuUrl = createString("menuUrl");

    public final StringPath name = createString("name");

    public final NumberPath<Integer> sorter = createNumber("sorter", Integer.class);

    public final NumberPath<Integer> status = createNumber("status", Integer.class);

    public final StringPath superId = createString("superId");

    public final NumberPath<Integer> type = createNumber("type", Integer.class);

    public final com.querydsl.sql.PrimaryKey<Authority> primary = createPrimaryKey(authorityId);

    public QAuthority(String variable) {
        super(Authority.class, forVariable(variable), "null", "Authority");
        addMetadata();
    }

    public QAuthority(String variable, String schema, String table) {
        super(Authority.class, forVariable(variable), schema, table);
        addMetadata();
    }

    public QAuthority(String variable, String schema) {
        super(Authority.class, forVariable(variable), schema, "Authority");
        addMetadata();
    }

    public QAuthority(Path<? extends Authority> path) {
        super(path.getType(), path.getMetadata(), "null", "Authority");
        addMetadata();
    }

    public QAuthority(PathMetadata metadata) {
        super(Authority.class, metadata, "null", "Authority");
        addMetadata();
    }

    public void addMetadata() {
        addMetadata(authorityId, ColumnMetadata.named("authorityId").withIndex(1).ofType(Types.VARCHAR).withSize(20).notNull());
        addMetadata(code, ColumnMetadata.named("code").withIndex(5).ofType(Types.VARCHAR).withSize(64));
        addMetadata(createTime, ColumnMetadata.named("createTime").withIndex(11).ofType(Types.TIMESTAMP).withSize(19));
        addMetadata(description, ColumnMetadata.named("description").withIndex(4).ofType(Types.VARCHAR).withSize(255));
        addMetadata(icon, ColumnMetadata.named("icon").withIndex(9).ofType(Types.VARCHAR).withSize(255));
        addMetadata(menuUrl, ColumnMetadata.named("menuUrl").withIndex(8).ofType(Types.VARCHAR).withSize(255));
        addMetadata(name, ColumnMetadata.named("name").withIndex(3).ofType(Types.VARCHAR).withSize(64));
        addMetadata(sorter, ColumnMetadata.named("sorter").withIndex(7).ofType(Types.INTEGER).withSize(10));
        addMetadata(status, ColumnMetadata.named("status").withIndex(10).ofType(Types.INTEGER).withSize(10));
        addMetadata(superId, ColumnMetadata.named("superId").withIndex(2).ofType(Types.VARCHAR).withSize(20));
        addMetadata(type, ColumnMetadata.named("type").withIndex(6).ofType(Types.INTEGER).withSize(10));
    }

}

